package oj;

import java.io.*;
import java.util.Arrays;
import java.util.Scanner;

/**
 * @author ：冯涛滔
 * @date ：Created in 2020-4-25 9:04
 * @description：
 * @modified By：
 * @version:
 */
public class Oj01 {
    /**
     * Alice有一些重要信息，这信息只包括大写字母、小写字母和空格。她想要对这些信息进行记录，但是又不想直接记录原始信息。
     *
     * 她开始查找资料，其中一种方法是将字母进行变换，设定一个变换位置k，则c=k+m，其中m为原始字符，c为变换结果。比如k=2，则A变为C，Y变为A，z变为b。空格转换为’#’。
     *
     * Alice对k值的设置方法进行了一些改进，由原来固定的k值改进为使用记录的日期变换出k值。具体方法是对日期构成的每一位求和，直到k小于10。比如20020308，对日期构成的每一位求和得到k=2+2+3+8=15，继续求和k=1+5=6，则最终得到k=6。请你帮Alice编写一个程序，利用记录日期将信息转换为加密编码格式。
     *
     * 这个算法要求日期的格式为：yyyymmdd，年份范围应为[1900-2020]，月份范围应为[1-12]，日根据年和月确定；信息只能是大写字母、小写字母和空格。
     *
     * 输入要求
     * 多组输入。
     *
     * 每组数据包括2行。第1行是一个日期，长度不大于8；第2行是要加密的信息，长度不大于128。
     *
     * 输出要求
     * 每组数据输出如下：
     *
     * 如果输入的日期或信息不符合要求，输出 none
     *
     * 否则，输出加密后的信息。
     *
     * 输入
     * 20201206
     * I wrote a program to get a grade A
     * 1234
     * GMCPC
     * 输出
     * M#avsxi#e#tvskveq#xs#kix#e#kvehi#E
     * none
     */
    public static void one(){
        Scanner in = new Scanner(System.in);
        while(in.hasNext()){
            String s = in.nextLine();
            String c = in.nextLine();
            int sum = 0;
            char[] chars = c.toCharArray();
            char[] ints = s.toCharArray();
            if(ints.length!=8){
                System.out.println("none");
                continue;
            }
            if(date(s)){
                System.out.println("none");
                continue;
            }
            for (int i = 0; i < ints.length; i++) {
                sum = sum + Integer.parseInt(String.valueOf(ints[i]));
            }
            while(sum>9){
                String s1 = sum+"";
                char[] ss1 = s1.toCharArray();
                sum = Integer.parseInt(String.valueOf(ss1[0]));
                for (int i = 1; i < ss1.length; i++) {
                    sum+=Integer.parseInt(String.valueOf(ss1[i]));
                }
            }
            for (int i = 0; i < chars.length; i++) {
                if(chars[i]==' '){
                    chars[i] = '#';
                    System.out.print("#");
                    continue;
                }
                chars[i]+= sum;
                System.out.print(chars[i]);
            }
            System.out.println();

        }
    }
    public static boolean date(String s){
        int year = Integer.parseInt(s.substring(0, 4));
        int mou = Integer.parseInt(s.substring(4, 6));
        int day = Integer.parseInt(s.substring(7));
        if(year<1900||year>2020){
            return true;
        }
        if(mou<1||mou>12){
            return true;

        }
        if(day<1){
            return true;

        }
        if(mou==2){
            if(year%400==0||year%4==0&&year%100!=0){ //闰年 29
                if(day>29){
                    return true;

                }
            }
            else{//平年 28
                if(day>28){
                    return true;

                }
            }
        }else{
            if(mou==1||mou==3||mou==5||mou==7||mou==8||mou==10||mou==12){
                if(day>31){
                    return true;

                }
            }else{
                if(day>30){
                    return true;

                }
            }
        }
        return false;
    }

    public static void main(String[] args) {
        one();
    }
}
